#include <iostream>
#include <string>
#include <vector>
#include <iomanip> // 用于格式化输出

using namespace std; // 使用标准命名空间

struct Student {
    string name;         // 姓名
    double mathScore;   // 数学成绩
    double englishScore; // 英语成绩
    double averageScore; // 平均分
};

int main() {
    const int studentCount = 30; // 学生数量
    vector<Student> students(studentCount); // 存储学生信息

    // 输入学生信息
    for (int i = 0; i < studentCount; i++) {
        cout << "请输入第 " << (i + 1) << " 位学生的姓名: ";
        getline(cin, students[i].name);

        cout << "请输入数学成绩: ";
        cin >> students[i].mathScore;

        cout << "请输入英语成绩: ";
        cin >> students[i].englishScore;

        // 计算平均分
        students[i].averageScore = 
          (students[i].mathScore + students[i].englishScore) / 2;

        cin.ignore(); // 忽略换行符，准备下一次输入
    }

    // 找到平均分最高的学生
    Student topStudent = students[0]; // 假设第一个学生是平均分最高的
    for (const auto& student : students) {
        if (student.averageScore > topStudent.averageScore) {
            topStudent = student;
        }
    }

    // 输出平均分最高的学生信息
    cout << "\n平均分最高的学生信息如下：" << endl;
    cout << "姓名: " << topStudent.name << endl;
    cout << "数学成绩: " << topStudent.mathScore << endl;
    cout << "英语成绩: " << topStudent.englishScore << endl;
    cout << "平均分: " << fixed << setprecision(2) 
      << topStudent.averageScore << endl;

    return 0;
}
